package top.hmtools.model;

import java.io.Serializable;

/**
 * 反馈消息实体类
 * @author Jianghaibo
 *
 */
public class ReturnInfoBean implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 3246063871343168744L;
    
    public ReturnInfoBean(EStatus status) {
        this.status = status.code;
    }
    
    /**
     * 主键id
     */
    private String id;
    
    /**
     * 短信消息实体对象
     */
    private MessageBean messageBean;
    
    /**
     * 短信模板实体对象
     */
    private MsgTemplateBean msgTemplateBean;
    
    /**
     * 发送的完整短信内容
     */
    private String fullMsgContent;
    
    /**
     * 发送状态：1，成功；2，失败；
     */
    private int status;
    
    /**
     * 外部第三方接口返回的业务id
     */
    private String outId;
    
    /**
     * 反馈的消息
     */
    private String rtnInfo;

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the messageBean
     */
    public MessageBean getMessageBean() {
        return messageBean;
    }

    /**
     * @param messageBean the messageBean to set
     */
    public void setMessageBean(MessageBean messageBean) {
        this.messageBean = messageBean;
    }

    /**
     * @return the msgTemplateBean
     */
    public MsgTemplateBean getMsgTemplateBean() {
        return msgTemplateBean;
    }

    /**
     * @param msgTemplateBean the msgTemplateBean to set
     */
    public void setMsgTemplateBean(MsgTemplateBean msgTemplateBean) {
        this.msgTemplateBean = msgTemplateBean;
    }

    /**
     * @return the status
     */
    public int getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(int status) {
        this.status = status;
    }

    public void setStatus(EStatus status) {
        this.status = status.code;
    }
    

    /**
     * @return the rtnInfo
     */
    public String getRtnInfo() {
        return rtnInfo;
    }

    /**
     * @return the fullMsgContent
     */
    public String getFullMsgContent() {
        return fullMsgContent;
    }

    /**
     * @param fullMsgContent the fullMsgContent to set
     */
    public void setFullMsgContent(String fullMsgContent) {
        this.fullMsgContent = fullMsgContent;
    }

    /**
     * @param rtnInfo the rtnInfo to set
     */
    public void setRtnInfo(String rtnInfo) {
        this.rtnInfo = rtnInfo;
    }

    /**
     * @return the serialversionuid
     */
    public static long getSerialversionuid() {
        return serialVersionUID;
    }

    /**
     * @return the outId
     */
    public String getOutId() {
        return outId;
    }

    /**
     * @param outId the outId to set
     */
    public void setOutId(String outId) {
        this.outId = outId;
    }

    /**
     * 发送短信状态枚举
     * @author Jianghaibo
     *
     */
    public enum EStatus{
        /**
         * 成功
         */
        SUCCESS(1),
        
        /**
         * 失败
         */
        FAIL(2);
        
        /**
         * 状态代号
         */
        private int code;

        private EStatus(int code) {
            this.code=code;
        }
        
        @Override
        public String toString() {
            return String.valueOf(this.code);
        }
        
        /**
         * 状态代号
        * <br>方法说明：                    getCode
        * <br>输入参数说明：           
        * <br>@return
        * <br>输出参数说明：
        * <br>int           
        *
         */
        int getCode(){
            return this.code;
        }
    }
}
